<%@ page contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<head>
<link href="images/main.css" rel="stylesheet" type="text/css" />
<link  href="../css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../js/trim.js"></script>
<script type="text/javascript">
	function sub(){
		document.forms["form"].submit();
	}
</script>
</head>
<html>
<body onload="init();">
	<jsp:include page="right_top.jsp"></jsp:include>
	<!-- TOP START -->
	<div id="right_font">
		<img src="images/main_14.gif" /> 您现在所在的位置：首页 → 员工信息上传 → <span class="bfont">员工信息导入数据库</span>
	</div>
	<!-- TOP END -->
	<hr>
<body bgcolor="#ffffff">
	<%
		//定义上载文件的最大字节
		int MAX_SIZE = 102400 * 102400;
		// 创建根路径的保存变量
		String rootPath;
		//声明文件读入类
		DataInputStream in = null;
		FileOutputStream fileOut = null;
		//取得客户端的网络地址
		String remoteAddr = request.getRemoteAddr();

		//获得服务器的名字
		String serverName = request.getServerName();

		//取得互联网程序的绝对地址
		String realPath = request.getRealPath(serverName);

		realPath = realPath.substring(0, realPath.lastIndexOf("\\"));

		//创建文件的保存目录
		//rootPath = realPath + "\\WEB-INF\\classes\\";
		rootPath = realPath + "\\upload\\";

		//取得客户端上传的数据类型
		String contentType = request.getContentType();
		try {
			if (contentType.indexOf("multipart/form-data") >= 0) {
				//读入上传的数据
				in = new DataInputStream(request.getInputStream());
				int formDataLength = request.getContentLength();
				if (formDataLength > MAX_SIZE) {
					out.println("<P>上传的文件字节数不可以超过" + MAX_SIZE + "</p>");
					return;
				}
				//保存上传文件的数据
				byte dataBytes[] = new byte[formDataLength];
				int byteRead = 0;
				int totalBytesRead = 0;
				//上传的数据保存在byte数组
				while (totalBytesRead < formDataLength) {
					byteRead = in.read(dataBytes, totalBytesRead,
							formDataLength);
					totalBytesRead += byteRead;
				}
				//根据byte数组创建字符串
				String file = new String(dataBytes);
				//out.println(file);
				//取得上传的数据的文件名
				String saveFile = file.substring(file
						.indexOf("filename=\"") + 10);
				saveFile = saveFile.substring(0, saveFile.indexOf("\n"));
				saveFile = saveFile.substring(
						saveFile.lastIndexOf("\\") + 1,
						saveFile.indexOf("\""));
				int lastIndex = contentType.lastIndexOf("=");
				//取得数据的分隔字符串
				String boundary = contentType.substring(lastIndex + 1,
						contentType.length());
				//创建保存路径的文件名
				String fileName = rootPath + saveFile;
				//out.print(fileName);
				int pos;
				pos = file.indexOf("filename=\"");
				pos = file.indexOf("\n", pos) + 1;
				pos = file.indexOf("\n", pos) + 1;
				pos = file.indexOf("\n", pos) + 1;
				int boundaryLocation = file.indexOf(boundary, pos) - 4;
				//out.println(boundaryLocation);
				//取得文件数据的开始的位置
				int startPos = ((file.substring(0, pos)).getBytes()).length;
				//out.println(startPos);
				//取得文件数据的结束的位置
				int endPos = ((file.substring(0, boundaryLocation))
						.getBytes()).length;
				//out.println(endPos);
				//检查上载文件是否存在
				File checkFile = new File(fileName);
				if (checkFile.exists()) {
					out.println("<br><br>");
					out.println("<p><font color='red'>" + saveFile + "替换了原服务期上存在的同名文件.</font></p>");
				}
				//检查上载文件的目录是否存在
				File fileDir = new File(rootPath);
				if (!fileDir.exists()) {
					fileDir.mkdirs();
				}
				//创建文件的写出类
				fileOut = new FileOutputStream(fileName);
				//保存文件的数据
				fileOut.write(dataBytes, startPos, (endPos - startPos));
				fileOut.close();
				out.println("<br>");
				out.println("<font color=''#3A6279'>"+saveFile + "文件成功上载至服务器,请点击导入数据库.</font></p>");
	%>
	<table align="center">
		<form action="ExcelServlet?type=excToMqsql" method="post" name="form" id="form">
			<tr></tr>
			<tr></tr>
			<tr></tr>
			<tr></tr>
			<tr>
				<td>
					<input type="button" value="将excel数据导入数据库中" onclick="sub();"/>&nbsp;&nbsp;
					<input type="button" value="返回" onclick="history.go(-1);" />
				</td>
			</tr>
			<tr>
				<td>
					<input type="hidden" name="filename" id="filename" value=<%=saveFile%>>
				</td>
			</tr>
		</form>
	</table>
	<%
		} else {
				String content = request.getContentType();
				out.println("<p>上传的数据类型不是multipart/form-data</p>");
			}
		} catch (Exception ex) {
			throw new ServletException(ex.getMessage());
		}
	%>

</body>
</html>